﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace Login
{
    public partial class fPrincipal : Form
    {
        public fPrincipal()
        {
            InitializeComponent();
        }

        private void menuItem7_Click(object sender, EventArgs e)
        {
            this.lblAgregar.Visible = true;
            panelUsuarios.Visible = true;
            panelBuscar.Hide();


        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (txtCedula.Text != "" && txtContra.Text != "" && cbTipo.Text != "" && txtFecha.Text != "")
            {
                Usuarios.modificarUsuario(txtCedula.Text, txtContra.Text, cbTipo.Text, txtFecha.Text);
                MessageBox.Show("El usuario ha sido modificado con éxito.","Modificación de Usuarios",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                this.panelBuscar.Visible = true;

            }
            else
                MessageBox.Show("Error en la modificación del usuario.","Modificación de Usuarios",MessageBoxButtons.OK,MessageBoxIcon.Error);

        }

        private void btnIngresar_Click(object sender, EventArgs e)
        {

            if (txtCedula.Text != "" && txtContra.Text != "" && cbTipo.Text != "" && txtFecha.Text != "")

            //Usuarios.CrearUsuario(txtCedula.Text, txtContra.Text, cbTipo.Text, txtFecha.Text);
            //MessageBox.Show("user created");

            if (txtCedula.Text == "" && txtContra.Text == "" && cbTipo.Text == "" && txtFecha.Text == "")
            {
            Usuarios.crearUsuarios(txtCedula.Text, txtContra.Text, cbTipo.Text, txtFecha.Text);
            MessageBox.Show("El usuario ha sido creado con éxito.","Creación de usuarios",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
            this.BuscarUsuarios();
            }
            else            
            MessageBox.Show("Error en la creación del usuario.","Creación de Usuarios",MessageBoxButtons.OK,MessageBoxIcon.Error);


                      if (Usuarios.CrearUsuario(txtCedula.Text, txtContra.Text, cbTipo.Text, txtFecha.Text) > 0)
            {
            
                MessageBox.Show("");

            }
           else
                MessageBox.Show("Error en los datos ingresados");
            
       }
        


        private void panelUsuarios_Paint(object sender, PaintEventArgs e)
        {

        }

        private void btnBorra_Click(object sender, EventArgs e)
        {
            BuscarUsuarios();
            this.lblAgregar.Visible = false;
        }

        private void panelBorrar_Paint(object sender, PaintEventArgs e)
        {

        }

        private void fPrincipal_Load(object sender, EventArgs e)
        {

        }

        private void btnBorrarUs_Click(object sender, EventArgs e)
        {
            DialogResult resultado; //guarda el resultado del siguiente cuadro de dialigo
            resultado = MessageBox.Show("El usuario se eliminara completamente y no tendrá acesseo al Sistema.\nEsta seguro q desea eliminar el usuario?", "Alerta!!!", MessageBoxButtons.YesNo,MessageBoxIcon.Warning);

            if (resultado == DialogResult.Yes)
            {
                conexioon cnn = new conexioon();            //conexion a base de datos
                MySqlConnection conexion = cnn.conectar();     //conexion a base de datos


                DataGridViewRow row = this.dataGridView1.CurrentRow;    //Captura la fila seleccionada y la almacena en la variable row

                if (row != null)//hay que poner esta condición sino mostrara un error
                {
                    String valor = Convert.ToString(row.Cells["IdFuncionario"].Value);//Se almacena el valor del campo nombre de nuestra tabla en valor
                    String sql = "DELETE FROM usuarios WHERE IdFuncionario='" + valor + "'";//la consulta para eliminar el campo
                    MySqlCommand ejecuta = new MySqlCommand(sql, conexion);
                    conexion.Open();
                    ejecuta.ExecuteNonQuery();//se ejecuta la consulta
                    MessageBox.Show("El usuario ha sido eliminado.", "Usuarios");
                    BuscarUsuarios();//esta es una función que cree para actualizar el datagrid después de eliminar.
                }

            
            }

            if (resultado == DialogResult.No)
            {
              //no hace nada   
            }

           }

        
            public void BuscarUsuarios()
            {

                this.panelBuscar.Visible = true;
       //    this.panelUsuarios.Hide();

           conexioon cnn = new conexioon();

           MySqlConnection conexion = cnn.conectar();

            conexion.Open();
            MySqlDataAdapter daUsuarios = new MySqlDataAdapter("SELECT * FROM usuarios", conexion);

            DataSet dsUsuarios = new DataSet();

            daUsuarios.Fill(dsUsuarios,"usuarios");

            dataGridView1.DataSource = dsUsuarios;

            dataGridView1.DataMember = "usuarios";

            conexion.Close();
            }

            private void pictureBox1_Click(object sender, EventArgs e)
            {

            }

            private void btnModificar_Click(object sender, EventArgs e)
            {
                this.lblAgregar.Visible = true;
                this.lblAgregar.Text = "Modificar un Usuario del Sistema";
                this.btnIngresar.Hide();
                this.btnModifica.Visible = true;
                this.panelBuscar.Hide();
                this.panelUsuarios.Show();
                BindingSource bindingsource1 = new BindingSource();
                MySqlDataAdapter dataAdapter = new MySqlDataAdapter();

                conexioon cnn = new conexioon();
                MySqlConnection conexion = cnn.conectar();
                dataAdapter = new MySqlDataAdapter("Select * FROM usuarios",conexion); //Enlazamos la consulta con nuestra base de datos
                MySqlCommandBuilder comando = new MySqlCommandBuilder(dataAdapter); //Generamos un comando para asociarlo con nuestro dataAdapter

                DataTable tabla = new DataTable();// Creamos un objeto DataTable
                dataAdapter.Fill(tabla);//Llenamos nuestro dataAdapter con los campos de nuestra tabla

                bindingsource1.DataSource = tabla;//Asignamos la fuente de datos de nuestro bindingsource
                dataGridView1.DataSource = bindingsource1;//Le asignamos el datasource a nuestro DataGridView

                this.txtCedula.DataBindings.Add("Text", bindingsource1, "IdFuncionario");
                this.txtContra.DataBindings.Add("Text", bindingsource1, "pass");
                this.cbTipo.DataBindings.Add("Text",bindingsource1,"tipo");
                this.txtFecha.DataBindings.Add("Text", bindingsource1, "fechaCreacion");


                conexion.Close();
            }

            private void menuItem8_Click(object sender, EventArgs e)
            {
                this.panelUsuarios.Visible = true;
                this.panelBuscar.Visible = true;
                this.lblAgregar.Hide();
                this.BuscarUsuarios();
                
               
            }

            private void button1_Click_1(object sender, EventArgs e)
            {
                this.txtCedula.Text = "";
                this.txtContra.Text = "";
                this.cbTipo.Text = "";
                this.txtFecha.Text = "";

                this.panelBuscar.Hide();
                this.panelUsuarios.Visible = true;
                this.lblAgregar.Visible = true;
                this.lblAgregar.Text = "Agregar Usuarios ";
            }

            private void lblAgregar_Click(object sender, EventArgs e)
            {

            }

            private void label10_Click(object sender, EventArgs e)
            {

            }

            private void menuItem1_Click(object sender, EventArgs e)
            {
                this.panelBuscar.Hide();
                this.panelUsuarios.Hide();
                this.panel1.Show();
            }

            private void menuItem9_Click(object sender, EventArgs e)
            {
                this.Close();
                fLogin objLogin = new fLogin();
                objLogin.Show();
            }
    }
}


